iT邦幫忙

DAY 30
0

openSUSE Linux 30 天系列 第 30

2014IT鐵人賽-30-ACL

  • 分享至 

  • xImage
  •  

2014IT鐵人賽-30-ACL

今天一樣使用 EasyCloud 雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.

今天是鐵人賽的最後一天, 我們用 acl ( Access Control List ) 來達陣.

筆記部份:

ACL (Access Control List)

傳統的檔案權限針對的對象

  • 擁有者(owner)
  • 群組(group)
  • 其他(other)

倘若檔案或是資料夾的權限, 指定的方式超過三個以上

此時可以利用ACL 指定特定使用者/群組 所可以擁有的權限,來彌補傳統權限的不足

ACL(Access Control List)

  • 在file system 上面必須設定 acl的選項

  • 可以使用 setfacl 設定ACL

    • -m 編輯ACL設定
    • -x 移除單項 ACL 設定
    • -b 移除所有 ACL 設定
    • -d 設定Default ACL
    • -M 還原ACL設定
  • 可以使用 getfacl 觀察ACL設定

-rwxrw-r--+ 1 root users 0 2008-06-21 11:27 test
當設定ACL, 中間的 4-6的bit 就非原本的群組權限, 而是acl mask

  • acl mask --> 特定使用者或是特定群組可以使用的最大權限
  • default acl --> 針對資料夾設定default acl其子資料夾及檔案可以繼承設定的acl

開始練習吧

Lab: Access Control List <ACL>

#mount | grep sda <請觀察資訊, 是否有acl>

#mkdir /acl
#touch /acl/test
#echo "echo 1234" >> /acl/test
#chmod 700 /acl/test

#ls -l /acl
#su - max -c "cat /acl/test" <以使用者max身份查看檔案>失敗
#su - john -c "cat /acl/test" <以使用者john身份查看檔案>失敗

#getfacl /acl/test <查看test資訊>
#setfacl -m u:max:r /acl/test <設定acl, -m 編輯, FIELD:NAME:PERM>
#ls -l /acl
#getfacl /acl/test <查看test資訊>

#su - max -c "cat /acl/test" <以使用者max身份查看檔案>成功
#su - john -c "cat /acl/test" <以使用者john身份查看檔案>失敗

#setfacl -x u:max /acl/test <設定acl, -x 移除, FIELD:NAME>
#ls -l /acl
#getfacl /acl/test
#setfacl -b /acl/test <移除所有的ACL設定>
#ls -l /acl

-------------------------------------------------------------------------

練習 acl mask

#ls -l /acl
#chgrp users /acl/test
#chmod 764 /acl/test
#ls -l /acl <請觀察資訊>
#su - max -c "cat /acl/test" <以使用者max身份查看檔案>成功
#su - john -c "cat /acl/test" <以使用者john身份查看檔案>成功
#su - max -c "/acl/test" <以使用者max身份執行檔案>失敗
#su - john -c "/acl/test" <以使用者john身份執行檔案>失敗
#ls -l /acl
#setfacl -m user:john:rwx /acl/test
#ls -l /acl <請觀察資訊,此時顯示的是ACL MASK>
#su - max -c "/acl/test" <以使用者max身份執行檔案>失敗
#su - john -c "/acl/test" <以使用者john身份執行檔案>成功

#getfacl /acl/test
#setfacl -m mask::r-- /acl/test <設定acl mask為r-->
#getfacl /acl/test

#su - john -c "/acl/test" <以使用者john身份執行檔案失敗,因受到acl mask 的限制>

-------------------------------------------------------------------------

練習 default acl

#mkdir /acl/dir
#setfacl -d -m u:john:rwx /acl/dir/ <設定default acl>
#getfacl /acl/dir/ <請觀察資訊>

#touch /acl/dir/test
#ls -l /acl/dir/ <請觀察資訊>

#getfacl /acl/dir/test <請觀察資訊>
#mkdir /acl/dir/john <請觀察資訊>

#ls -l /acl/dir/ <請觀察資訊>
#getfacl /acl/dir/john/ <請觀察資訊>

Fun with Day 30 ~


上一篇
2014IT鐵人賽-29-sudo 授權管理
系列文
openSUSE Linux 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言